package com.onpositive.gamemaker.objects;

public interface IGameObjectMap
{
	/**
	 * @return map width, in cells
	 */
	int getWidth();
	/**
	 * @return map height, in cells
	 */
	int getHeight();
	/**
	 * Get min game objects level. Usually 0 means ground objects, values > 0 are used for helicopters, planes, clouds etc 
	 * @return min game objects level
	 */
	int getMinLevel();
	/**
	 * Get max game objects level 
	 * @return max game objects level
	 */	
	int getMaxLevel();
	/**
	 * Returns game object array for specified map location, from bootm to top level 
	 * @param x map location x
	 * @param y map location y
	 * @return game object array 
	 */
	IGameObject[] getGameObjects(int x, int y);
	/**
	 * Returns game object at specified level&location
	 * @param x location x
	 * @param y location y
	 * @param level location level
	 * @return game object at specified level&location
	 */
	IGameObject getGameObject(int x, int y, int level);
	
}
